package cn.stylefeng.guns.sys.modular.system.model.params;

import cn.stylefeng.guns.sys.modular.system.entity.BtyContractDetail;
import cn.stylefeng.guns.sys.modular.system.entity.BtyContractOrtherDetail;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import cn.stylefeng.roses.kernel.model.validator.BaseValidatingParam;

import java.io.PrintWriter;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 合同管理
 * </p>
 *
 * @author liuy
 * @since 2022-05-10
 */
@Data
public class BtyContractParam implements Serializable, BaseValidatingParam {

    private static final long serialVersionUID = 1L;


    /**
     * 主键
     */
    private Integer id;

    /**
     * 一级区域
     */
    private String primaryArea;

    /**
     * 一级区域id
     */
    private Integer pid;

    /**
     * 二级区域
     */
    private String secondaryArea;

    /**
     * 财务码
     */
    private String cwm;

    /**
     * 店名
     */
    private String dm;

    /**
     * 1已收回 2未收回 3复印件 4电子版 5无 6合同不全
     */
    private Integer state;

    /**
     * 合同备注
     */
    private String contractRemarks;

    /**
     * 甲方
     */
    private String firstParty;

    /**
     * 乙方
     */
    private String secondParty;

    /**
     * 开发人员
     */
    private String developer;

    /**
     * 开业时间
     */
    private String openDate;

    /**
     * 面积
     */
    private BigDecimal area;

    /**
     * 起租时间
     */
    private String startTime;

    /**
     * 到期时间
     */
    private String endTime;

    /**
     * 首期月租金
     */
    private BigDecimal firstMonthlyRent;

    /**
     * 首期月物业费
     */
    private BigDecimal firstMonthlyPropertyFee;

    /**
     * 租金缴纳周期1月付 2俩月付 3季付 4半年付 5年付
     */
    private Integer rentPaymentCycle;
    /***
     * 成本会计
     */
    private String cbkj;
    /**
     * 开发人员
     */
    private String kfry;

    /**
     * 开发人员电话
     */
    private String phone;
    /**
     * 租金抽成 1 有 2 无
     */
    private String rentBonus;

//    /**
//     * 计费方式1每日每平 2每月每平 3固定计费
//     */
//    private Integer billingMethod;
//
//    /**
//     * 费用名称
//     */
//    private String expenseName;
//
//    /**
//     * 每日每平金额
//     */
//    private BigDecimal dailyAverageAmount;
//
//    /**
//     * 每月每平金额
//     */
//    private BigDecimal monthlyAverageAmount;
//
//    /**
//     * 月金额
//     */
//    private BigDecimal monthlyAmount;
//
//    /**
//     * 递增明细日期
//     */
//    private String detailDate;
//
//    /**
//     * 总金额
//     */
//    private BigDecimal totalAmount;
//
//    /**
//     * 递增明细备注
//     */
//    private String detailRemark;
//
//    /**
//     * 租金日期
//     */
//    private String rentDate;
//
//    /**
//     * 租金抽成
//     */
//    private String rentBonus;
//
//    /**
//     * 其他费用名称
//     */
//    private String otherExpensesName;
//
//    /**
//     * 其他费用金额
//     */
//    private String otherExpensesAmount;
//
//    /**
//     * 保证金名称
//     */
//    private String bondName;
//
//    /**
//     * 保证金金额
//     */
//    private BigDecimal bondAmount;
//
//    /**
//     * 备注
//     */
    private String remark;

    private String beginTime;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建人
     */
    private Long createUser;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新人
     */
    private Long updateUser;
    /**
     * 递增明细
     */
    private List<BtyContractDetail>detailList;
    /**
     * 其它明细
     */
    private List<BtyContractOrtherDetail>otherDetailList;

    private List<String>list;

    /**
     * 递增明细备注
     */
    private String detailRemark;
    /**
     * 妖码
     */
    private String yaoma;

    private int overtime;

    /**
     * 租金备注
     */
    private String rentRemark;

    /**
     * 其它费用备注
     */
    private String costRemark;

    /**
     * 保证金备注
     */
    private String bondRemark;

    /**
     * 租金缴纳周期备注
     */
    private String rentPaymentRemark;

    /**
     * 营业状态  1 营业中 2 已闭店
     */
    private Integer openState;




    @Override
    public String checkParam() {
        return null;
    }

}
